Computer implemented method for controlling ebb flow watering systems

ABSTRACT

A method of controlling an ebb and flow watering system utilizing existing hardware commonly used in ebb and flow systems including float switches, water pumps, electromechanical timers, reservoir, control bucket, flood lines, indicator LEDs and plant containers such that the filling and draining of the control bucket is improved by accommodating for hydraulic delays, flood line restrictions, and pump limitations, while further providing constant monitoring for leaks or float switch failure, and shutting off the pumps if the same are determined.

TECHNICAL FIELD

This invention relates to the process of controlling the watering ofplants, and more specifically, but not by way of limitation, to thecomputer controlled ebb and flow watering of plants.

BACKGROUND OF THE INVENTION

Growing plants indoors requires the grower to control and manage allfacets of the plant growing environment. Historically, a substantialproblem in growing plants indoors is keeping a constant human vigilancein maintaining ideal water saturation. The grower must also manage thelight exposure, nutrients, and a litany of other complicated balances toenhance plant growth, but the most fundamental element is and always hasbeen water.

The present invention relates to the electronic controller solutionsavailable for growing plants indoors, specifically hydroponic or ebb andflow systems. The ebb and flow watering system as referenced herein,necessarily includes a control bucket, that is in fluid communicationwith the plant containers at the same elevation, such that the waterlevel in the control bucket, is the same as the water level in the plantcontainers. Float switches that indicate water level and trigger pumpaction are also standard, and generally one is located at the bottom ofthe control bucket to signal empty, and one at the top to signal full.Water pumps that are either on or off move fluid from a reservoir intothe control bucket, that then gravity fills the plant containers. Anelectromechanical timer initiates fill and drain cycles based on userset time periods. Varying methods implemented in the prior art enablethese components to work in cooperation, allowing for the timelywatering of plants.

For the beginning hydroponic or ebb/flow grower, the management ofwatering is a first priority, as the absence of soil reduces the marginof error for maintaining adequate moisture but not too much. Ebb andflow gardening requires a controlled regiment cycle of flooding themedia which holds the moisture until the next cycle, and then quicklyand completely draining the water before unhealthy conditions develop atthe plant root system. If the cycles of watering are too far apart, theplants suffer drought conditions, and if the cycles are too closetogether, over watering can stunt growth or cause disease. Leaving theroots under water or “Root Wet” conditions can also lead to hypoxia inthe root cluster, which could lead to fatal plant disease. In short,water management, when growing with an ebb/flow system, is critical forsuccess.

Multi-cycle timers like the described electromechanical short intervaltimer as shown and described in Flaig U.S. Pat. No. 4,490,051 is acommon solution to the watering problem, as the timer turns on and offpumps that facilitate the watering of the plants. The motorizedelectromechanical timer usually has a dial with a periphery of receivingapertures, and the dial rotates once during a 24 hour period. Dependingon user placement of small “tabs” within the periphery apertures of thetimer's dial, the timer's rotation toggles (activates and deactivates)an electrical switch within the timer turning electrical components onand off. The tabs may be moved around the dial to accurately set thedesired component or watering schedule.

Coupling the electromechanical timer and water pumps with mechanicalfloat switches in a control bucket is a common configuration for ebb andflow gardening. The water gravity feeds from the control bucket to theplant containers along flood lines. The control bucket is at the sameelevation and in fluid communication with the plant containers, so thelevel of water in the control bucket is approximately the same as thelevel of water in the plant containers. The timer triggers a fill pumpto come on, and the fill pump runs until the upper float switch locatedat the top of the control bucket shuts the pump off when the “Full”level is reached in the control bucket. After the desired time passesper the timer, the timer triggers the drain pump to come on to removethe water from the control bucket and plant containers, pumping thewater from the control bucket (and the plant containers) back into thereservoir to be recycled or reused for the next watering cycle. When thelower float switch located at the bottom of the control bucket indicatesempty, the mechanical float switch shuts off the drain pump. The abovedescribed system provides the basic watering control for the standardebb and flow systems.

The shortcoming of the timer and float switch combination arises fromthe hydraulic flow delay between fluid movement between the controlbucket and the plant containers or vice versa, as water migration doesnot occur instantaneously. There may be several flood lines in fluidcommunication with one control bucket, and each flood line has aplurality of plant containers. Just because the control bucket is “Full”does not mean that all of the plant containers down each flood line are“Full”. Gravity fills the plant containers from the control bucket, sothe filling of containers is slowed by the limitations of fluid flow atthe fittings, grow media, and hose lines. In the common ebb and flowconfiguration, the control bucket may be at the correct water level whenthe fill pump shuts off, but as the plant containers finish gravityfilling, the level in the control bucket recedes or goes down, leavingthe plant containers short on water. Similarly during the drain cycle,the lower float switch may indicate drained, and shut off the drainpump, but water from the flood lines and plant containers are stilldraining back which results in water standing at undesirable levels inthe control bucket and plant containers.

To help illustrate by prior art example, when the electromechanicaltimer signals ‘fill’ the fill pump is powered on with the upper floatswitch connected in series so that when the upper float switch is downthe circuit between the electromechanical timer relay and the fill pumpis closed. When the upper float switch floats to the full position, thecircuit between the electromechanical timer relay is broken, the fillpump is shut off. The problem lies in the water being pumped into thecontrol bucket is entering at a faster rate than the water flowing outof the control bucket down the flood lines and to the plant containers.After the upper float switch indicates ‘full’ and the fill pump is shutoff by the circuit being broke, water continues to recede in the controlbucket due to the delay of water flowing down the flood lines, resultingin inadequate levels of water at the plant containers. Due to thehydraulic delay described, when the upper float switch finally drops toa level that signals the fill pump to come back on, theelectromechanical timer has timed past the ‘fill’ cycle, so the fillpump stays off, and the plant containers are not watered adequately.

Other problems with using the prior art float switches that signal‘open’ or ‘closed’ only, is waves or disturbances within the controlbucket. If a float switch is set to signal with more accuracy, then itbecomes more susceptible to waves in the control bucket which createfalse ‘full’ signals which shut the fill pump off, and when the floatdrops a little as caused by a disturbance, the fill pump is turned backon. This on and off pump cycling is a problem not resolved in the priorart.

The drain cycle is performed much the same way, having the drain pumpshut off when the lower float switch drops indicating that the controlbucket is adequately drained, opening the circuit thereby shutting offthe drain pump. The hydraulic delay of water flowing back through theflood line from the plant containers raises the lower float switch thatcloses the circuit to the drain pump, causing the drain pump to comeback on, only if the electromechanical timer is still in the ‘drain’cycle. If the hydraulic delay is such that the ‘drain’ cycle has ended,the water flowing back is not removed by the drain pump, and anundesirable level of water is left in the plant containers causing aroot wet condition. This root wet condition can be detrimental to planthealth.

If a less accurate float switch is used that requires considerablechange in level before signaling, the fill or drain pump is shut offinitially when the desired level is reached, and not turned back onuntil the level changes considerably, and usually not until after theelectromechanical timer has already run through it's ‘fill’ or ‘drain’cycle. Conversely, the more accurate of float switches used, as in thefloat switch indicates with less change in level, the more susceptiblethe system is to pulsing the pumps on and off due to waves in thecontrol bucket or under conditions when the hydraulic delays closesmatch the pump flow. Over cycling the pumps on and off excessively isundesirable, as it causes premature failure of the pump, makes forunnecessary noise, increases power consumption, and decreases the lifeof the electrical components of the ebb and flow system.

Other problems not addressed in the prior art relate to shutting off thepumps if there is a problem with the system. For example, water leakingfrom the flood line would cause the upper float to drop, turning on thefill pump, pumping water until the reservoir is empty, or until thetimer ends its fill cycle. A reservoir may hold 55 gallons, which ifpumped out onto the floor may cause considerable damage. Similarly, a‘run dry’ prior art problem occurs when the reservoir gets too low tofill the flood lines, control bucket, and plant containers during thefill cycle. The fill pump is turned on but the control bucket neverreaches the desired level, and the upper float switch remains down,keeping the fill pump powered. When the reservoir runs out of water, thefill pump continues to run dry until failure.

Visual indication of fill or drain states have been implemented in priorsystems, and are historically accomplished by the use of LEDs thatbecome lit when the corresponding pump is powered. The user can thenlook and see which pump is running to understand whether the system isfilling or draining, but no further indication information is available.Visual indication advances have been implemented in the prior art thatrequires additional float switches which then turn on and off LEDsdepending on water level in the control bucket effectively tied to aparticular float switch in the control bucket. However, the addition offloat switches increase expense, while decreasing reliability.

SUMMARY OF INVENTION

The controller method described herein was inspired and specificallydesigned to solve the problems of existing ebb and flow systemsdescribed above, while utilizing the same or similar hardwarecomponents, thereby allowing a user to upgrade an existing ebb and flowsystem by installing applicant's controller, without having to replacewhat they already have installed in their grow space. Of courseApplicant's computer controlled method also works well with newcomponents, but has the novel advantage of using proven and readilyavailable components from the prior art, thereby increasing economy,encouraging recycling, with reliable results.

The EBB & FLOW CONTROLLER (EFC) as described herein is a computer thatmonitors three inputs (two open or closed float switches and anelectromechanical timer) and can activate any of four outputs (twoindication LEDs, and two water pumps), and is specially designed foraccurately controlling the watering of growing plants.

The EFC is supported by readily available components currently utilizedin the prior art, specifically in the preferred embodiment, there is anelectromechanical timer, relays, AC power cord, two 120VAC electricaloutlets that provide power to two pumps, two LEDs, and two floatswitches that indicate water levels within the control bucket.

The EFC benefits from a custom printed circuit board (PCBA) thatincludes a microprocessor that monitors the three inputs and controlsthe four outputs. The microprocessor implements Applicants' method ofcontrol via firmware written expressly for the ebb and flow application.The firmware is “State-based” and “Event-driven”. It is written in the“C” programming language, which is human-readable. This firmware isarchitected as a “State Machine” and is always operating in one ofseveral different “States”. In operation, “Events” such as a BottomSwitch floating up moves the state machine from one state to the nextaccording to a “State Table” included in the firmware. The firmwareincludes a State Table Driver subroutine (termed a “function” in the Clanguage). This driver continually monitors the unit's present state andpresent event. The driver executes its complete function several hundredtimes each second. The driver locates the present state and presentevent in the table and obtains from the table what will be the “Next”state. This operation is deterministic, monitors the three inputs, andmanages the four outputs accordingly.

BRIEF DESCRIPTION OF DRAWINGS

Elements in the figures have not necessarily been drawn to scale inorder to enhance their clarity and improve understanding of thesevarious elements and embodiment of the invention. Furthermore, elementsthat are known to be common and well understood to those in the industryare not depicted in order to provide a clear understanding of theinvention, thus the drawings are generalized diagrammatically in form inthe interest of clarity.

FIG. 1 is a diagrammatic representation of the EFC and method to use inconjunction with an existing ebb and flow system;

FIG. 2 is a diagrammatic representation of the EFC;

FIG. 3 is a firmware state diagram demonstrating events as occurring andcorresponding states as managed by the EFC.

DETAILED DESCRIPTION OF DRAWINGS

In the following discussion that addresses a number of embodiments andapplications of the present invention, reference is made to theaccompanying drawings that form a part hereof, and in which is shown byway of illustration specific embodiments in which the invention may bepracticed. It is to be understood that other embodiments may be utilizedand changes may be made without departing from the scope of the presentinvention.

As shown in FIG. 1 diagrammatically the prior art ebb and flowconfiguration of an ebb and flow watering system having a control bucket200, flood lines 210, plant containers 205, reservoir 300, top switch240, bottom switch 250, timer 10, and LEDs 110 and 120 for visualindication. There are other configurations of ebb and flow wateringsystems that Applicants' method could be utilized that employ more thantwo float switches, however, the preferred embodiment includes only twoas it is preferred to limit component count, reduce the number ofcomponents that fail, thereby increasing reliability while reducingcosts. The preferred embodiment configuration of the components includethe “Control Bucket” 200 having a low-voltage float switch “TopSwitch”240, located at the desired “fill” level 81 in the “ControlBucket” 200 and a second low-voltage float switch “Bottom Switch” 250,located at the desired ‘drained’ level 91 in the “Control Bucket” 200.These low-voltage switches provide an open or closed signal, dependingon whether they are floated up or down within the “Control Bucket” 200,are relatively inexpensive, and commonly used in the prior art. The EFC100 is in signal communication with the “Top Switch 240 by fill/output 2and the “Bottom Switch” 250 by drain/output 3 respectively.

A third EFC 100 input is the timer/output 1 for the EFC includes anelectromechanical timer “Timer” 10. The “Timer” 10 benefits from a dialaccessible by the User, on the front of the EFC 100 enclosure. The Usermanipulates small tabs on the dial to establish when the timer will beON or OFF for the ‘fill’ 15 cycle, and ON or OFF for the ‘drain’ 17cycle during a 24 Hr period.

The EFC 100 controlled outputs include two colored LEDs (red & green)and two standard electrical relays, one for ‘fill’ and one for ‘drain’,with each relay conductively connected to provide power to itsrespective 120VAC electrical outlet, this electrical connection is notshown in FIG. 1 but is well known and understood in the art. A 120VAC“Fill Pump” and a 120VAC “Drain Pump” plug into the correspondingoutlets diagrammatically illustrated as fill/output 2 and drain/output 3respectively.

When the EFC activates a ‘drain’ or ‘fill’ relay, the corresponding pumpconnected to that corresponding AC outlet will be powered on.

The “Control Bucket” 200 is in fluid communication with “Flood Lines”210, each “Flood Line” having at least one “Plant Container” 205, suchthat gravity maintains the same level of water in the “Control Bucket”200 as the plant containers 205, as they are set up at the sameelevation. As shown in FIG. 1, the EFC 100 is located away from the“Control Bucket”200 in order to improve illustrative clarity. Oneskilled in the art will immediately realize that the EFC may be remotelylocated or instead fixated to the “Control Bucket” 200 and often is toexpedite user set up.

The “Control Bucket” 200 is also in fluid communication with thereservoir 300 via the “Fill Line” 410 with the “Fill Pump” 400 submersedin the “Reservoir” 300 such that water pumped by the “Fill Pump” 400from the “Reservoir” 300 is dropped into the “Control Bucket” 200 fromabove. The “Drain Line” 510 is in fluid communication with the “DrainPump” 500 located at the bottom of the “Control Bucket” 200 such thatwater pumped by the “Drain Pump” 500 is dropped into the top of the“Reservoir” 300. In order to prevent unwanted siphoning from thereservoir 300, an anti-siphon 411 valve is included in the “Fill Line”410.

As shown diagrammatically in FIG. 2, the EFC 100 receives input from thetimer 10, the top switch 240, and the bottom switch 250. Applicant'smethod as implemented by the logic based programmed firmware manages theEFC 100, wherein the EFC 100 receives signals as described above andissues commands to the electrical components that turn on and off thefill pump 400 and drain pump 500, while providing indication as tostatus by illuminating either or both the green LED 110 or red LED 120.

The prior art is replete with timers 10 used in the context shown anddescribed in FIG. 1, wherein the user initiates both ‘fill’ and ‘drain’time periods by setting placement tabs, shown as Start Time Signal 15and End Time Signal 17. As this form of grower interface using a timer10 is well known in the industry, the preferred embodiment utilized thesame type of electromechanical timer 10, but any timer will workincluding but not limited to digital or analog timers. The other twoinputs, top switch 240 and bottom switch 250 are also common place inprior art as used by the ebb and flow grower but usually arecomplimented with additional float switches to accomplish the managementand visual indication of status of the ebb and flow system. In the priorart the top switch 240 is wired in series with the fill pump 400 whichbreaks the power to the fill pump 400 upon floating the top switch 240.Similarly, the bottom switch 250 is in series with the drain pump 500,and breaks the power circuit to the drain pump 500 upon the bottomswitch 250 dropping. As shown in FIG. 1 and FIG. 2, is a diagrammaticrepresentation of a prior art ebb and flow watering system but with theaddition of the inventive method as programmed within the logic basedprogrammed firmware as diagramed in FIG. 3, that manages the EFC 100 asinterconnected to the prior art components. The ebb and flow systemincludes plant containers 205, in fluid communication via at least oneflood line 210 with control bucket 200. The control bucket 200 drainlevel 91 is set by the bottom switch 250 which is located at the desiredlower level or ‘drained’ level within the control bucket 200, and is insignal communication with the computer 100 shown as diagrammaticallyshown as drain/input 5. The full level 81 is set by the top switch 240which is located at the desired ‘full’ level within the control bucket200, and in signal communication with the EFC 100 as diagrammaticallyshown as fill/input 4.

As shown in FIG. 1-2, the EFC 100 is in input signal communication withthe timer 10 via timer/computer connection 1, the fill switch 80 viafill/input 4, and drain switch 90 via drain/input 5 and in output signalcommunication with the fill pump 400 via fill/output 2 and drain pump500 via drain/output 3. The visual LED indicators are depicted ascircles, green LED 110 and red LED 120, which are also in outputcommunication with the EFC 100.

The improvement over the prior art lies within the unique method ofmanaging the pumps with the firmware described herein and shown as aSTATE DIAGRAM in FIG. 3, as facilitated by the EFC 100 that receives theprior art inputs (float switch signals), and managing the prior artpumps (drain and fill pumps) to increase reliability and performance ofthe system, while providing an accurate LED indication of status of thesame. Further, the firmware as diagramed in FIG. 3 provides theadditional benefit of shutting off the pumps if the float switch inputsindicate error, leak, or failure of a component of the ebb and flowwatering system.

The method improves managing of the level of water within the controlbucket 200 using only two prior art float switches that signal open inthe down position and closed if floated to the up position. To show byan example of a watering cycle, the EFC 100 is signaled by theelectromechanical timer 10, and the EFC 100 is initiated to perform awatering cycle, as shown in the state diagram of FIG. 3. The EFC 100receives input from the top switch 240 and bottom switch 250 indicatingthe state of water level within the control bucket's 200. A full level81 is signaled if the top switch 240 is up, and after receiving the fulllevel 81 signal, the EFC 100 initiates an internal timing clock thattimes out a ‘complete fill period’ which for the preferred embodiment isapproximately five seconds, which works well when there are less that 12plant containers. During the “complete fill period” the EFC 100maintains power to the fill pump 400 regardless if the top switch 240indicates full level 81 at the control bucket 200, and in doing so,waves or disturbances within the control bucket 200 do not turn the fillpump 400 on and off unnecessarily when the desired level is beingreached. If the top switch 240 drops while the ‘complete fill period’ isrunning, the EFC 100 resets the internal clock and powers the fill pump400 on for another ‘complete fill period’, thereby ensuring an accurateand repeatable full level 81 within the control bucket 200. Once thewatering ‘fill cycle’ is timed out by the electromechanical timer 10,AND the internal timer has finished it's ‘complete fill period’, thenthe EFC 100 shuts off the fill pump 400 and awaits the next signal.

One example of the preferred embodiment's error management advantage isillustrated by the following events occurring per input states asmanaged by the firmware of the EFC 100 as illustrated in FIG. 1-2, andcharted in FIG. 3. The timer 10 signals start fill time 15 which isreceived by the EFC 100. The EFC 100 checks the status of the bottomswitch 250 and top switch 240 to determine levels of water within thecontrol bucket 200. If the bottom switch 250 is down and the top switch240 is up, Applicants' method as implemented by the firmware of EFC 100indicates error, and the EFC 100 shuts down power to both pumps as thebottom switch 250 can't be down if the top switch 240 is up (floatswitches of the type used in the prior art may stick up or down due tonutrients that fall out of suspension or particulates that come from theplant containers).

If no error (no impossible switch positions), and both bottom switch 250and top switch 240 are ‘down’, the EFC 100 initiates the fill pump 400to fill the control bucket 200 from the reservoir 300 by powering on thefill pump 400 as described earlier. The EFC 100 further provides visualindication while it monitors the switches during the ‘fill’ cycle byblinking the fill LED 110 slowly upon starting the fill pump 400. Uponthe bottom switch 240 floating up, the EFC 100 blinks the fill LED 110faster. Upon the control bucket 200 reaching the fill level 81, the topswitch 250 floats up and signals via fill input 4 to the EFC 100 whichthen enters into a ‘complete fill period’ described above, and the EFC100 turns the fill LED 110 continuously on, and initiates a timercounting from an internal clock of the CPU. Upon the internal clocktiming a ‘complete fill period’ (five seconds for the preferredembodiment without the top switch 240 dropping, but no more than 15minutes to prevent running the pump dry and to prevent flooding in theevent of a leak), the EFC 100 shuts off the fill pump 400 and waitsuntil the next signal from the timer 10. During the ‘complete fillperiod’ one skilled in the art will realize the advantages in certainapplications where the fill pump 400 may be cycled on and off in orderto slowly fill the ebb and flow system to the desired full 81 levelwithout over/under shooting the desired fill level 81, and without overwatering the plants, as operating the fill pump 400 has it's advantagesin certain application.

To illustrate by another example and to clarify the benefits andadvantages of Applicants' inventive method, the preferred embodiment ofthe ‘drain’ cycle is herein described. Of note, one of the problems withthe prior art ebb and flow systems is that the hydraulic delay of thewater draining back from the flood lines and plant containers resultedin undesirable water levels at the control bucket 200 and plantcontainers 205. During the ‘drain’ cycle, as triggered by theelectromechanical timer 10, which may be a digital or other type ofanalog timer 10, the EFC 100 checks the position of the top switch 240and bottom switch 250 as described above for error positions, and if notin error position, then initiates the drain pump 500 located at thebottom of the control bucket 200, and begins slowly blinking the drainLED 120 as water is pumped from the control bucket 200 into thereservoir 300. When the top switch 240 drops the EFC 100 receives thatsignal 4 and begins blinking the red LED 120 faster while maintainingthe drain pump 500 on. Upon receiving signal 5 that the bottom switch250 has dropped, the EFC 100 powers the drain LED 120 continuous on,initiates a ‘complete drain period’ which triggers an internal clockwithin the EFC 100. Upon the internal clock timing a ‘complete drainperiod’ (at least 3 seconds for the preferred embodiment while thebottom switch 250 indicates drain level 91) the EFC 100 shuts off thedrain pump 500 completely, and waits until the next signal from thetimer 10. If during the ‘complete drain period’ the bottom switch 250floats up indicating water from the plant containers 205 has drainedback into the control bucket 200, the ‘complete drain period’ timeresets, and the internal clock starts over with the resetting of the‘complete drain period’ in the EFC 100. The prior art problem of leavingtoo much water in the plant containers 205 is remedied by Applicants'unique method of keeping the drain pump 500 on for a ‘complete drainperiod’ each time the bottom switch 250 drops, and restarts the EFC's100 internal timing of the “complete drain period” each time the bottomswitch 250 floats up during the ‘drain’ cycle as triggered and timed bythe electromechanical timer 10. The ‘complete drain period’ is easilyadjustable by setting in the firmware a longer or shorter ‘completedrain period’ to accommodate differing hydraulic delays resulting fromadding plant containers 205.

To illustrate how the firmware manages the EFC 100 in practice,referring to the preferred embodiment's state diagram shown in FIG. 3,in the S_INITTING 605 state the EFC 100 has the timer 10, the top switch80, and the bottom switch 90 as monitored inputs, the outputs wouldinclude the fill pump outlet 20, drain pump outlet 30, green LED 110,and the red LED 120 shown in FIGS. 1-2. To begin illustrating thepreferred embodiment and how the firmware operates the EFC FIG. 3 showsthe first event, BOOT 600 which occurs when the power is first turnedon. The EFC initializes the hardware, and then posts a DONE 700 event,causing the state machine to enter the S_INITTING 605 state. In theS_INITTING 605 state the firmware examines the conditions of each of theinputs, and depending on the signals from the inputs the firmware causesthe EFC to post one of several events. If the top switch 80 and thebottom switch 90 are both down, signaling that the control bucket isempty, and the timer is signaling “Off”, then the firmware will postGO_DRAIN_EMPTY 725 and cause the state machine to move to theS_DRAINING_EMPTY 650 state. In the S_DRAINING_EMPTY 650 state both pumpsare off, and the red LED 120 is powered continuously on indicatingsystem is drained. If then the timer signals “FILL”, then the firmwarewill post the GO_FILL_EMPTY 735 event code, which causes the statemachine to move from the S_DRAINING_EMPTY 650 state to theS_FILLING_EMPTY 625 state.

In the S_FILLING_EMPTY 625 state the Fill Pump is turned on and thecontrol bucket begins to fill, and the green LED 110 blinks slowly. Whenthe bottom switch floats up in the control bucket, the event is labeledin FIG. 3 as a BOT_FLOAT_UP 780 event, the state machine moves to theS_FILLING_MID 620 state leaving the fill pump on, and the green LED 110blinking faster. When in the S_FILLING_MID 620 state, the state machinelooks to see if the upper switch is either TOP_FLOAT_DOWN 770 orTOP_FLOAT_UP 775. If event TOP_FLOAT_DOWN 770, then the fill pumpremains on, and the state machine is in the S_FILLING_MID 620 state. Ifevent TOP_FLOAT_UP 775 then the state changes to S_FILLING_DELAYING 615wherein the fill pump remains on for a predetermined time period, set bythe firmware, and timed by the internal clock of the microprocessor, andthe green LED 110 is blinked very fast. The desired time to leave thefill pump on after the top switch floats varies in application from onesecond to several minutes, but in the preferred embodiment, five secondswas determined as an adequate time to top off the control bucketcompensating for fluid lag transfer from the control bucket to the floodlines. However, additional time, or custom regulating the fill cycle isapplication driven, and absolutely accommodated by programming in thefirmware of the PCB in the EFC 100. Once the EFC's internal timing clockruns down the desired fill pump delay, the event TIMED_OUT 765 occursand the state machine goes to S_FILLING_FULL 610 state, which turns thegreen LED 110 on continuously, and the fill pump is shut off asdescribed in FIG. 3 as the GO_FILL_FULL 705 event.

When the GO_DRAIN_FULL 715 event is triggered by the Timer indicatingdrain, and the top switch floated up and the bottom switch floated up,the state machine goes into S_DRAINING_FULL 635 state, which initiatesthe drain pump to turn on, which begins pumping the fluid from thecontrol bucket into the reservoir, slowly blinking the red LED. As thefluid in the control bucket goes down, the top switch drops and theTOP_FLOAT_DOWN 745 event occurs and the state machine goes toS_DRAINING_MID 640 state, which continues to run the drain pump, andblinks the red LED faster. The event BOT_FLOAT_DOWN 750 moves the statemachine to S_DRAINING_DELAYING 645 and if the bottom switch floats backup causing the event BOT_FLOAT_UP 755, the state machine goes back toS_DRAINING_MID 640. If the bottom switch is down, the state machinestays in the S_DRAINING_DELAYING 645 state. When in theS_DRAINING_DELAYING 645 state the red LED is blinked very fast, and thefirmware cycles the drain pump until the TIMED_OUT 760 event occurs,which transitions the state machine into the S_DRAINING_EMPTY 650 state.In the S_DRAINING_EMPTY 650 state, the red LED is continuously on, andthe drain pump is off.

While the present invention has been described in terms of specificembodiment, it is to be understood that the invention is not limited tothe embodiments set forth herein. Exemplary embodiments of the fixtureand reflector according to the present invention are presented only withthose components of primary interest relative to the inventive apparatusand process. For purposes of clarity, many of the mechanical andelectrical elements for attaching and assembling the various componentsof the system are not specifically illustrated in the drawings. Theseomitted elements may take on any of a number of known forms which may bereadily realized by one of normal skill in the art having knowledge ofthe information concerning the modes of operation of the system and ofthe various components and related processes utilized for ebb and flowgardening methods including soil and hydroponic.

1. A computer-controlled ebb and flow watering method utilizing twofloat switches, two water pumps, a timer, and a control bucket,comprising the steps of: initializing fill time period with a timer;determining the state of a top float switch and a bottom float switch ina control bucket; powering on a fill pump if the top float switch isdown; starting an internal timing clock if the top float switch is up;restarting the internal timing clock if the top float switch drops fromup to down; shutting off the fill pump if the internal timing clock runsfor a complete fill period; initializing drain time period after filltime period ends with a timer; determining the state of a top floatswitch and a bottom float switch in a control bucket; powering on adrain pump if the bottom float switch is up; starting an internal timingclock if the bottom float switch drops from up to down; restarting theinternal timing clock if the bottom float switch raises from down to up;and shutting off the drain pump if the internal timing clock runs for acomplete drain period.
 2. A method of controlling the fill cycle of anebb and flow watering system comprising the steps of: initializing filltime period; determining the state of a switch in a control bucket;powering on a fill pump if the switch indicates no liquid at desiredfill level; starting an internal timing clock if the switch indicatesliquid at desired fill level; restarting the internal timing clock ifthe switch indicates no liquid at desired fill level; shutting off thefill pump if the internal timing clock runs for a complete fill period;3. A method of controlling the draining of an ebb and flow wateringsystem comprising the steps of initializing drain time period;determining the state of a switch in a control bucket; powering on adrain pump if the switch indicates liquid at the switch level; startingan internal timing clock if the switch indicates liquid at desired drainlevel; restarting the internal timing clock if the switch indicatesliquid at desired drain level; shutting off the drain pump if theinternal timing clock runs for a complete drain period;
 4. A method ofcontrolling an ebb and flow watering system of claim 1, and 2 whereinthe complete fill period is no greater than the hydraulic delays offilling the ebb and flow garden system.
 5. A method of controlling anebb and flow watering system of claim 1 and 2, wherein the complete fillperiod is less than fifteen minutes.
 6. A method of controlling an ebband flow watering system of claim 1 and 2 further comprising the stepsof blinking a fill LED when the fill time period is running or thetiming clock is running, so long as the fill pump is powered on.
 7. Amethod of controlling an ebb and flow watering system of claim 1 and 2further comprising the steps of powering continuously on a fill LED whenthe fill time period is running and the fill pump is off.
 8. A method ofcontrolling an ebb and flow watering system of claim 1 and 3, whereinthe complete drain period is no greater than the hydraulic delays ofdraining the ebb and flow garden system.
 9. A method of controlling anebb and flow watering system of claim 1 and 3 wherein the complete drainperiod is no less than 3 seconds.
 10. A method of controlling an ebb andflow watering system of claim 1 and 3 further comprising the steps ofblinking a red LED when the drain time period is running, or the timingclock is running, so long as the drain pump is powered on.
 11. A methodof controlling an ebb and flow watering system of claim 1 and 3 furthercomprising the steps of powering continuously ‘on’ a LED when the draintime period is running and the drain pump is off.
 12. A method ofcontrolling an ebb and flow watering system of claim 1 furthercomprising the steps of initializing an error state if any of thefollowing events occur: the top switch is up while the bottom is down;the timing clock is still running when the fill time period ends; or thetiming clock is still running when the drain timer period ends.